
  10 .POOL
  20 .
  30 :return ;&(9)=39;&(0)=170;&(1)=170;&(2)=30;&(3)=30;clear ;BC=170;FC=7
  40 S=1;T=0;NT=0;box -3,-2,155,83,1;box -3,-2,152,79,2
  50 X=75;for Y=-42to 38step 2;box X,Y,1,1,1;next Y;X=76;for Y=-42to 38step 10;box X,Y,1,1,1;next Y
  60 X=76;for Y=-42to 38step 10;box X,Y,1,1,1;box -70,32,20,12,1;box -70,-35,20,12,1;box 0,-35,23,12,1
  70 box 64,-35,18,12,1;box 64,32,18,12,1;box 0,32,23,12,1
  80 CY=10;CX=19;print "POOL";CY=-10;CX=-8;print "BY BOB HENSEL";NT=5
  90 X=-30;Y=4;B=-8;D=1;for A=1to 5;for C=1to D;Y=Y-6;B=B+9;if B>10B=1
 100 gosub 400;next C;D=D+1;Y=ABS(Y)+6;X=X-6;next A
 110 box -42,-2,1,3,3;box -42,-2,3,1,3
 120 B=0;Y=-2;for X=36to -24step -6;gosub 400;gosub 400;next X
 140 for A=1to 8;FC=90;for C=1to 50;next C;MU=60;FC=7;next A;box 0,-2,144,42,2
 150 @(0)=rnd (19)+5;@(16)=rnd (4)+5;@(33)=-71;@(34)=37;gosub 460;gosub 400;for B=1to 15
 160 @(B)=rnd (19)+3;@(B+16)=rnd (12)+1;gosub 460
 170 gosub 400;if PX(X+2,Y+2)=0gosub 470
 180 next B;goto 210
 190 @(0)=13;@(16)=7;gosub 400;gosub 460;gosub 400
 200 @(33)=@(33)-6
 210 S=S+1;C=-40;Q=2;box 79,0,2,88,2
 220 box 79,C+Q,2,2,1;if TR(1)=1goto 270
 230 Q=Q+2;if Q<80goto 220
 240 box 79,C+Q,2,2,2;if TR(1)=1goto 270
 250 Q=Q-2;if Q<0goto 230
 260 goto 240
 270 B=0;Q=Qdiv 2;MU=60;if JX(1)=0if JY(1)=0goto 300
 275 goto 290
 280 W=KN(1);if ABS(W)<65goto 300
 282 W=Wdiv 65;if V=0V=W;goto 300
 284 if H=0H=W;goto 300
 286 H=0;goto 300
 290 H=JX(1);V=JY(1)
 300 gosub 460;J=X+Hmul 6;K=Y+Vmul 6;if (J<-75)+(J>70)H=-H;MU=60;goto 300
 304 if (K<-40)+(K>35)V=-V;MU=60;goto 300
 306 if PX(J,K+2)=0goto 330
 310 C=B;for A=0to 15;if (@(A)=@(B)+H)mul (@(A+16)=@(B+16)+V)B=A
 320 next A;if B#C MU=60;goto 280
 330 box X,Y,5,5,2
 340 X=J;@(B)=@(B)+H;Y=K;@(B+16)=@(B+16)+V;gosub 400
 350 if PX(X+2,Y+2)=0gosub 470;Q=0;if B=0goto 190
 380 Q=Q-1;if Q>0goto 300
 390 goto 210
 400 MU=50;if B=0box X,Y,3,3,3
 410 if B>7box X,Y,1,3,3
 420 if B=8box X,Y,3,1,3
 430 box X,Y,5,5,3;return 
 440 @(33)=@(33)+6;if B>8@(33)=@(33)-6;@(34)=@(34)+6
 450 return 
 460 X=@(B)mul 6-75;Y=@(B+16)mul 6-44;return 
 470 gosub 400;Y=41;X=@(33);@(B)=0;if B>8X=@(34)
 480 MU=70;MU=71;MU=72;MU=73;MU=74;MU=50;MU=48;gosub 400;gosub 440;if B#0T=T+1
 510 if T=15goto 540
 520 if B=8goto 540
 530 @(B)=30;return 
 540 box 0,0,146,50,2;CX=-23;CY=8;print "GAME OVER
 550 print ;CX=-41;if T#15print "8 BALL LOSER
 560 if TR(1)=1goto 30
 570 goto 560
>run 
